package com.longge;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.stream.Stream;

/**
 * @创建人 xinglongge
 * @创建时间 2021/11/17
 * @描述
 */
public class RelativeSortArray {

    public int[] relativeSortArray(int[] arr1, int[] arr2) {

        Map<Integer, Integer> oneNumMap = new TreeMap<>();
        List<Integer> res = new ArrayList<>();
        for (int one : arr1) {
            oneNumMap.put(one, oneNumMap.getOrDefault(one, 0) + 1);
        }
        for (int two : arr2) {
            for (int i = 0; i < oneNumMap.get(two); i++) {
                res.add(two);
            }
            oneNumMap.remove(two);
        }
        oneNumMap.forEach((k,v)->{
            for (int i = 0; i < v; i++) {
                res.add(k);
            }
        });
        return res.stream().mapToInt(n->n).toArray();

    }
}
